ようやくインストール開始です。
人によっては、いきなりここから読み始める人も多いと思いますが、
起動ディスクや対応ハードウェア、PCのスペックや回線等、
過去で説明したために、ここでは触れない内容も多くあります。
そういった場合、一つ手前に戻って、そういったページも合わせて読んでみてください。
なお、これ以降「文章だけで説明するのがあまりにメンドイ」と思った項目に関しては、
著者の独断と偏見で画像ファイルを併用したりします。
百聞は一見にしかず…出来る限り減色や縮小したりしつつ画像を軽くするようにしているつもりですが、
「ページ重いんじゃああ!」という苦情に関しては、
ノーコメントで行きたいと、いや、むしろ行かせていただきますのでご了承下さい。
あともう一つ。
インストールに当たって初めて出てくる専門用語や、知っておいた方がいいであろう内容は、
順次そのたびに説明しています。
そのため、(けっこう)くどいですが、了承いただきたいと思います。
… では、始めたいと思います。
ちゃんと、CDからブートするなり、起動ディスクから起動するなりして、
FreeBSDのインストーラーを起動することができましたか?
→これらが出来ないのであれば、まずこちらを読むことをお勧めします。
成功すればシステムファイルの読み込みが始まりますので、その間ひたすら待ちます。
FD起動している場合、途中FD入れ替えを要求されるのできちんとしてください。

この画面が出ると、まず起動に成功した事になります。小さな一歩ですが、偉大な一歩です(どーでもいい)。
ちなみに、これはFreeBSDバージョン4までの画面です。バージョン5からは一新されています。
インストールする前に、まずカーネルの環境設定をする必要があるので3つの項目から選べと言うわれます。
ここでは基本的に何も考えなくていいので一番上(Skip)を選択しましょう。(つまり、エンターキーを押せばいい)。
この画面では、英語で「初めてインストールする時は真ん中を選べ」と書かれてますが、選ぶ必要はありません。
昔LANカード等をISAで使用していた場合、ISAは自動で認識してくれないのでここでIRQやI/Oポートアドレスを手動で指定する必要がありました。今はもうISAは使われてませんし、最近のハードウェア(拡張ボード…主にPCI)はPnPにより、こういった情報は自動認識されます。興味あるなら、一度選んでどんな画面が出るか見てもらってもいいですが、本当に初めてインストールするユーザーが真ん中を選択したら混乱する事必死、早速FreeBSDのインストールを断念するであろうと想像されますので、絶対お勧めできません。
ただ、IRQがぶつかっている、I/Oボートが不明とかで、対応しているにも関わらず、自動認識で上手くハードウェアが認識されない、無いはずのハードウェアが検出されてしまう事が、ごくたまにあります。それがSCSIのHDDだったりした場合インストールは不可能になるわけで、その場合、ここから直接指定してやらないといけないわけですが…そんな事はめったに起こらないと思います。
一番上を選択してエンターキーを押すと、カーネルがPC上に存在するハードウェアを片っ端から自動で認識していきます。もちろん対応しているハードウェアに関しては、自動でドライバを組み込みます。
とりあえず表示されるのは人間の目ではとても追えないので、追う必要はありません。(それでも最初の頃は必死に見てしまうんですよね…)
一旦インストールを終えた後ならば、見る方法もありますので、それはまたの機会に説明したいと思います。
それが終わると以下の画面に。

これがFreeBSDインストーラー(正確にはインストーラー&環境設定ツール)です。
コマンドライン上から実行しているのに、猪口才にグラフィカルでカッコイイです。しかもウィンドウには影付きです。
そんな緋色(管理人)の驚きはとりあえずどうもでいいので、説明を続けます。
すぐにでもインストールをしたいわけですが、
まず最初に「使用しているキーボードを指定する」という作業だけはしておきます。
(英語版キーボードを使用しているならこの操作をする必要はありません)
おそらく手元にあるキーボードは日本語版キーボードでしょう。
日本語版か英語版かを確認する最も簡単な方法は「;(セミコロン)」と「:(コロン)」キーが別々に存在しているかどうか、です。
英語版キーボードであれば「;」と「:」が同じキーにあり、「:」を入力するには「Shitキー
+ ;」の操作が必要になります。
たとえ指定しているキーボードが日本語版であっても、インストーラーはそれを認識してはくれません。
(USBなら自動認識してくれるかもしれないですが…試した事はないので分かりません…)
ここでは操作に慣れる練習も含めて、サクサクッと、カーソルキーを使用して、
[Keymap]を選択後、エンターキーでキーボードの指定に進みます。
すると[Belgain]と言う項目から始まり、様々な世界の様々なキーボードタイプ一覧が表示されます。
ここで、カーソルキーと、「Page Down」と「Page
UP」キーを使用して、
画面をスクロールさせつつ「Japanese 106」の項目を探します。
最初の画面には表示されない、少し下の方にあります。
この項目を発見してカーソルを合わせたらエンターキーを押します。
これで、使用するキーボードが「日本語キーボード」に設定されました。
さて、カーソルキーで上から2番目[Standard]を選択してください。
これはもっとも基本的なインストールプログラムを実行するということになります。
このページでは、この[Standard]からインストールをする場合のみに限定して説明します。
[Express]はその単語の意味どおり、高速で…様々な設定をする前に表示される「注意書きのページ」を省略してインストールを進める事が可能です。実際に設定をする内容は[Standard]と変わりません。[Custom]はさらにもっと手順を省略したものですが、実際に設定する内容は(以下略)なので、素直に[Standard]で行きたいと思います。
[Configure]以降の設定は、実際にインストールを終えてからじゃないと設定する意味がないので、現段階ではまだ無視です。
では、[Standard]を選択したらエンターキー(もしくはスペース)を押して次に進みましょう。
なお、PCに接続されているハードディスクドライブ(HDD)の認識に失敗していると、
この時点でインストール可能なメディアが存在しない、と表示され先に進めないと思います。
こうなったら、何がまずかったのかを調べる必要があります。
IDE接続のHDDを使用しているのにも関わらず認識に失敗した場合、
HDD(もしくはその他)のトラブルと考えられます。
こういったトラブルの原因は対象PCによってまさに千差万別であり、各自、気合で解決して下さい。
→実際にハードウェアが対応しているかどうか確認するにはこのページをどうぞ。
なお、ここではHDDが1台のみ存在する、という状況で話を進めています。
2台以上のHDDを持っており、2台以上のHDDが認識されているのならば、
インストール時にこのページで説明している内容とは少し違った状況になるかもしれません。
その時は、自分のPCに合わせてインストールを進めてください。
無事に先に進むと、画面に[Message]という項目が表示され、次に行う内容の説明をしてくれています。
英語で書かれているというのが少し心苦しい事ではありますが、
今からfdiskというプログラムを使用して、ハードディスクのどれだけの容量をFreeBSDに使用するのか決める
と書いてあると思ってください。
ついでに、HDDの全てをFreeBSDで使うつもりならば、
「A]キーを押して「Q]キーを押せば、この設定は簡単に終わらせる事ができる、という事も書いてあります。
そして、エンターキーかスペースを押して実際の設定画面に進みます。

実際の設定画面(縮小済み)。
ここは悩む事はありません。
サーバー用途に使用するのであれば、
メッセージどおりに「A]を押してHDDの全領域を確保した後、「Q]で終了させます。
すると、次にブートマネージャを使用するかどうか?に入りますが、ここで一旦保留です。
ここでHDDに既にデータがある場合、これと違った内容が表示されていると思います。
全部データを消してしまっていい場合であれば、
カーソルキーの下を押して既存領域に移動して、「D」キーで削除を繰り返してすべて削除してしまいます。
そして画面と同じ状態になったら「A」キーで全領域を確保して「Q」キーで終了です。
サーバー用途に使用するつもりではなく、すでにWindows等他のソフトがインストールされており、
空いているHDD部分にインストールして共存させたい(一般的にデュアルブートとか呼ばれる)と言うのであれば、
また事情が変わってきます。
そういった場合に対しては、いずれ新たな項目を用意して、説明したいなとは思っています。
ここではまず、こういった状況は除外して
「一台のHDDの全容量をFreeBSDのみに使用する」として説明しています。
こうして、HDDにFreeBSDで使用する容量を確保して(これを仮にFreeBSD領域と呼びます)、
そのFreeBSD領域をスライスしてパーティションを作成するわけですが、
少し寄り道して、少し「パーティション」と「スライス」という専門用語について説明しておきたいと思います。
ただ最初に断っておきますが、
ここでは『FreeBSDにおいての「パーティション」と「スライス」の説明をしている』という事を了承して下さい。
OS(UNIX)によってはパーティションとスライスを同等の意味として説明したり、
そもそもスライスするという作業自体が存在しません。
パーティションに関しての意味は、どのOSでもほとんど共通なのですが
OSごとにその違いを説明するのは、筆者の稚拙な知識ではまず不可能ですので、
一般的に使われる意味ので「パーティション」の説明、
そして「FreeBSDにおけるパーティション」と、そのために必要な作業であるスライスの説明のみをします。
パーティションとは、HD内の分割された論理的な領域の事です。
パーティションにより、物理的には一台しか存在しないHDDを論理的に複数に分割して、
あたかも複数のHDが存在するようにシステムが処理する事が可能になっています。
つまり10GのHDDを4Gと6Gに分割して、論理的に2台のドライブとして使用することが可能なわけです。
この作業を一般的に「パーティションを切る」と言います。
しかし、このパーティション分割はシステム根底に関わる部分であり、
非常に慎重に行わなければならない項目でもあります。
パーティションを切ったら、OSインストール後そのHDDのパーティションの容量変更は基本的に不可能です。
不可能というのは、「二度とパーティションを分割できない」と言う意味でなく
「もしパーティションを再分割すると、データーが不整合を起こしてOSが動かなくなる」と言う意味です。
OSがインストールされている状態でもパーティションに関する操作は可能だけど、
パーティションを変更してしまった場合、再インストールしないともうそのOSは動かない。
もし動いたとしても、どこかで致命的なエラーを抱えた爆弾のような状態のまま動く事になります。
最悪の場合、HDDが故障してしまうかも知れません。
例えば、100M続いているはずの道が、ある日突然80Mの時点で壁が出来ていたら?
コンピューターは人間のように柔軟な判断は不可能なので、そこで壁にぶち当たって、混乱してしまうわけです。
もし前日90Mのところにとても重要なデータを置いておいたとしたら?
コンピューターは取りにいけるはずなのに取れないという事態に遭遇し、重大な問題を引き起こすわけです。
パーティション分割は何度でも可能ですが、
その度に、一旦そのHDDを完全にフォーマットして、真っ白な状態からやり直すのが一般的です。
この辺りまでの説明は、おそらくどのOSでも一緒だと思います。
一台のHDDを2つのパーティションに分け、一つをOSのシステム用、もう一つをデータ用としておけば、
もし何らかの理由でフォーマットしてOSを再インストールする事になっても、
その場合システムのパーティションのみを操作すればいいのであって、
データー用のパーティションは保護されます。
これはごく一般的に使用されている方法です。
普通のOSであれば、この段階でパーティションの作成は終了です。
しかしFreeBSDではそうではありません。
FreeBSDでは「まず使用するFreeBSD領域を確保して、それをスライス(分割)してパーティションを作成する」
という作業が必要になってくるのです。
一般的なOSからパーティション操作ソフトでFreeBSDがインストールされているHDDを確認すると、
パーティションとしてFreeBSDが使用している領域が存在してます。
しかしそれはFreeBSDに使用されている領域全体が表示されているだけであって、
FreeBSDから見れば、その領域の中にきちんと細分化されたパーティションが存在するのです。
(他のOSからは基本的に確認できない)
実際にFreeBSDで言うところのパーティションとは、
この領域をさらに分割(スライス)した、その一つの領域のことを指します。
(ああ、ややこしい…)
…ということで、FreeBSDではさらに「確保した領域をスライスしてパーティションを作成」という作業が必要になるわけです。
しかし、これはデメリットばかりではありません。これはこれで便利なところもあります。
それは「パーティション」と「FreeBSDにおけるパーティション」の内容を理解していく内に自然と悟ると思います。
よって、ここでは説明しません。
スライスとは、FreeBSDの領域を分割して、パーティションを作成する事です。
このスライスするためのソフトを「ラベルエディタ」と呼んでます。
これはFreeBSDに(自信はないけど、おそらくBSD系UNIXで)存在する概念です。
ちなみにLinuxでは、このスライスと呼ばれる概念は存在しません。
こういったHDDをいくつかの領域に分ける「パーティション」ですが、
UNIXは基本的に一台(もしくは複数のHDD)からパーティションを複数作成して使用します。
なんでも無いような事ですが、
UNIXにとっては、これが「セキュリティ上」非常に大きな意味を持ってきます。
実際に一台(もしくは複数の)HDDをたくさんパーティションを作成して何をするかというと、
・このパーティションはシステム(OS)に関連する部分のみ使用。
・このパーティションは、システム以外でインストールしたソフトウェアのデータ専用。
・このパーティションのみをユーザーに開放。
・このパーティションは頻繁に書き込みされるデータ(ログ)のみに使用。
・このパーティションはスワップ領域専用として使用。
・このパーティションはデーターベースとして使用。
・このパーティションのみ別HDDに確保して、RAIDとして動かす、
こういった風に、パーティション毎に使用目的を決めて使用します。
これだけじゃ、何が凄いのかまだ分からないと思います。
サーバーを実際に運用する場合、
必ず「様々なトラブルが起こった時のこと」を想定しておかないといけません。
「一度に多量のログが発生して、空き容量が無くなってシステムがクラッシュした」ため、
もしファイルデータを格納しているテーブルが壊れて修復不可能になったら?
複数のパーティションに区切って使用していた場合であれば、
破損したのは「頻繁に書き込みされるデータ(ログ)のみに使用」されているパーティションだけである可能性が高く、
「ユーザーに開放しているパーティション」「データーベースのパーティション」など、
大事なパーティションが無事だという確立も高くなります。
HDDの入れ替えが必要にはなるかもしれませんが、
無事だったパーティションの大事なデータはちゃんと取り出せるはずです。
(まぁ、簡単に、というわけにはいきませんが)
しかし、もし複数のパーティションでなく、1つの領域(パーティション)で全プログラムを使用していたら?
…全てのデータが二度と見れなくなります。
例はこれだけにしますが、こういった状況を考えてもらえれば、
複数のパーティションで運用する事の大切さを感じ取ってもらえたと思います。
それ以外に、システム的にも利点があります。
インターネットサーバーとしてユーザーにスペースを貸す場合、
「10MB以上は使用不可能」といったような制限がついている事がよくあると思います。
この機能を一般的に「Disk Quota(ディスククォータ)」と呼ぶわけですが、
この機能はUNIXに搭載されているOSレベルの機能の場合が多く、
「クォータを実行させる場合は、パーティション単位である」といった制限がよくあります。
この場合「ユーザーに開放しているパーティションにのみクォータを適応」させる事により、
無駄をなくす事が出来るわけです。
なぜなら、現在のユーザーが使用している容量はいくつといった事を計算するのは
非常にCPUやメモリに負荷がかかる処理であり、
あらかじめ「クォーター計算はユーザーに開放しているパーティションに書き込みがあった時だけ」でいいと、
指定できる事により、ずっとCPUの負担を減らせます。
しかし、デメリットもあります。
必要とされる容量をきちんと計算してパーティションを用意しないと、
「HDD全体として見ればガラガラなのに、このパーティションだけ一杯になってしまったためエラーが発生した」
という状況も引き起こします。
こういった事態にならないように、ある程度使用する用途に合わせてパーティションを区切る必要も出てきます。
たとえパーティションを切る事を推奨しているといっても、「切り過ぎ」はいけません。
切り過ぎると、各パーティション毎の空き容量の管理が大変になってきます。
長い寄り道でしたが、現在パーティション操作ソフトでFreeBSDに使用する容量を確保した状態で止まっていると思います。
サーバー用途であるならば、そのHDの全容量だと思われます。
次は「ブートマネージャを使用するかどうか」に進みたいと思います。
ここでは、HDDからFreeBSDを起動させる場合、どうやって起動させるかの選択します。
ブートマネージャを使用する。
ブートマネージャを使用しない。
ブートに関する設定は何もしない。
の3択があると思ってください。
ブートマネージャーをきちんと理解するには、
MBRやブートローダーと言うものの知識も少し必要になってくるので、説明しておきたいと思います。
HDDには、先頭の方に必ず「MBR(Master Boot Record)」と呼ばれる領域を持っています。
PCに電源を入れ、HDDからの起動がBIOSにより選択された場合、まず最初にこのMBRを読み込みます。
このMBRには「Boot Loader(ブートローダー)」と呼ばれるプログラムが書き込まれています。
このプログラムが、HDDのパーティション情報を読み取り、
どこのHDD領域(パーティション。場合によっては2台目のHDD)からシステムを起動させるかを指定します。
MBR(そしてブートローダー)には、
起動可能な複数のOSを表示、ユーザーに選択させて起動などという高度な能力は持ち合わせてません。
基本的に「HDDのどの領域から起動させるか決める」という機能しか持っていません。
そこで「Boot Manager(ブートマネージャー)」の登場です。
これはブートローダーに起動OSの選択と言ったような高度な機能を拡張・追加してくれます。
世の中にこういったブートマネージャは数多く存在しますが、
ここで使用するかどうか聞かれているのは「FreeBSD
Boot Manager」というプログラムです。
しかしながら、サーバー用途のPCならば、今インストールしているFreeBSDが起動出来ればそれで良く、
起動OSの選択など必要は全く無いわけであり、ブートマネージャーの使用は意味が無い事になります。
ということで、
「BootMgr」…FreeBSDブートマネージャをインストール。
「Standard」…MBRに、この領域から起動するように設定。ブートマネージャは使用しない。
「None」 …何も設定しない。
の、3通りの選択肢の中「Standard」を選択します。
当然、以上の理由によりブートマネージャーは使用しません。
では、ブートマネージャを使用したい場合とは?
これは、FreeBSDを使用しつつもWindows等、他のOSも起動できるようにしたい、と言った場合に使用します。
ここでその設定方法に関しては触れません。
次に進むと、またメッセージが表示されます。
ここから先は、スライスによるパーティション作成作業になってきます。
そのまえに、表示されているメッセージを要約して説明します。
今からfdiskで確保した領域からパーティションを作成します。
もしそれが200MB以上の容量であり、特殊な用途に使用しないのであれば、
「A」キーを押す事により、自動的にスライスを切って必要なパーティションを作成します。
と言った風なことが書かれています。
ちなみに「公開するインターネットサーバー」と言うのは、緋色的には「特殊な用途」に入るように思えます。独断ですケド。
そんな事を考えつつ、次に進んで、実際にスライスを切って見たいと思います。
ラベルエディタによるパーティション作成画面

この画面は、例として「A」キーを押して自動的に4GのHDDからパーティションを作成してみました。
パーティションに関する説明は以前にした通りです。
「自動的に」パーティションを作成した場合、
やはりある程度の根拠があって、こういった分け方になったと考えるのが妥当であり、
これを例にして、実際にどういった分け方をするのか、説明していきたいと思います。
まず以下を見てください
Part Mount Size Newfs
---- ----- ---- -----
ad0s1a / 128MB UFS Y
ad0s1b swap 368MB SWAP
ad0s1e /var 256MB UFS+S Y
ad0s1f /tmp 256MB UFS+S Y
ad0s1g /usr 3078MB UFS+S
Y
|
この部分が、先ほど作成した領域を、
複数のパーティションとしてFreeBSDに任せてスライスしたものです。
[Part]を見てみると、そこには[ad0s1a] 〜 [ad0s1g]まで、一部アルファベットは飛びますが、存在しているのが分かります。
これは、分割したパーティションの、OSが認識する名前です。
このことを「ラベル」と呼んだりもします。
このラベルの法則を具体的に説明しておくと、
[ad0]ディスクに存在する[s1]という領域の[a]というパーティション(以下同じ)という意味です。
この中の[a]〜[g]のアルファベットに関しては、同じものを使用すると競合を起こしてしまうので、
自分でスライスを切った場合でも、FreeBSDのインストーラーが自動的にアルファベットを付けてくれます。
今回の場合[ad0s1a] とは、
「IDEのHDD[ad0]で確保した領域[s1]の中で、作成された[a]という識別名のパーティション」
となります。
これに関しては、この程度の知識でいいと思います。
問題は、次の[Mount]になります。
これに関しては、有名なMS社のWindowsと比較しつつディレクトリ構造を説明した方がいいと思います。
Windowsの場合、「C:\」というルートディレクトリがあり、
その下に様々なフォルダ(例えばWindowsやProgram
Files)が存在していて、
そこに様々なデーターやプログラムが存在しています。
時には「D:」といった別HDドライブや「A:」といったFDドライブ、「Q:」といったCDドライブが存在します。
しかしUNIXには、Windowsのように「Cドライブ」「Dドライブ」といった概念は存在しません。
ルートディレクトリである「/(ルートと呼ぶ)」(WindowsでいうC:\)以下に、すべてのディレクトリが繋がって存在しています。
たとえそれがFDドライブであっても同等です。
HDDを論理的に分割したパーティションというものは、いわば別ドライブです。
ならばそれは如何にして「/」以下に存在させるのでしょうか?
このときUNIX独自の「Mount(マウント)」という概念が登場します。
例えば、[ad0s1e]パーティションを[/var]にマウントする、と指定すれば、
それ以降[/var]ディレクトリ以降に書き込まれるデータは、すべて[ad0s1e]パーティションに書き込まれることになります。
FDやCD-ROMといった外部記憶装置も、使用する時はマウントして使用します。
「/mnt/fd」や「/mnt/cdrom」等、マウント用ディレクトリが用意されています。
こうやって説明すれば、そんなに難しいものでも無いと思います。
マウント位置に指定されているディレクトリですが、
適当に決められているわけではなく、何十年にも渡るUNIX共通のルールに従って決められています。
これに関しての説明も簡単にしておきます。
「/]
通称ルートディレクトリ。
UNIXのOSシステム部の起動・動作に関わるプログラムやカーネル、
サーバー管理者だけが使用するようなプログラムはここにインストールされます。
サーバー管理者である[root]ユーザーのディレクトリはここに用意されます。
[/bin][/sbin][/etc]その他もろもろ。
他のマウント位置に指定されていないディレクトリとデータは、
すべてこのルートディレクトリのパーティションに書き込まれます。
これらの大半はOSシステムの起動・動作に関わる大切なプログラムです。
この[/]をマウント位置に指定したパーティションは必須です。
[/var]
Variable(ヴァリアブル)ディレクトリの略であり、頻繁に更新されるデータや一時的なデータが保存される場所です。
主にシステムログや受信メールが保存されます。
Linuxのディストリビューションによっては、[/var/www]以下にホームページのデータをアップしたりします。
(FreeBSDは基本的に/usr/local/www以下です)。
[/tmp]
テンポラリーディレクトリ。
これは、あるソフトをインストールする場合、この[/tmp]ディレクトリにソースを展開して
コンパイル作業等をする、といった一時的な作業領域に使用されるディレクトリです。
ソフトによっては、このディレクトリに作業ファイルを勝手に作成したりもします。
サーバーが安定動作した時はほとんど不要なディレクトリでもあり、あんまり必要じゃないかもしれません(汗)。
[/usr]
ユーザーディレクトリ。
UNIXのOSシステムに関わらないプログラムがインストールされるディレクトリ。
主にインターネットサービスのプログラムやユーティリティがインストールされます。
管理者が様々な機能を追加したいためサーバーソフト等をインストールした場合、
伝統により、このディレクトリの[/usr/local]以下にインストールします(されます)。
一般ユーザーが使用していいプログラムは、基本的にこれ以降にインストールされています。
[SWAP]
スワップ領域。
システムのみが使用可能な領域であって、ユーザーが使用することは出来ません。
この領域も必須です。
詳しくは、別項にて説明してあります。
自動で設定して作成されたのはこの5つだけですが、
サーバー用途によっては他にも有名なマウント位置は存在します。
それら一部の説明もしておきたいと思います。
[/home]
ホームディレクトリ。
そのサーバーにログイン可能なユーザー(アカウントとも言う)が追加されると、
この[/home]の下にユーザー名のディレクトリが作成され、
そのユーザーがサーバーにログインした場合、このディレクトリに自動的に転送されます。
ユーザーの名前以下のディレクトリは、基本的にそのユーザーが自由に使う事が可能です。
(どこまで許可するかは管理者のポリシーによりますが)
Webサーバーの設定によっては、自分のHPもこのディレクトリから公開が可能になります。
少し前に「クォータ」の説明をしましたが、例えば1ユーザーの使用可能容量を10Mに設定したい、
といった場合であれば、このパーティションに対してクォータを有効にする事により、
ディスク管理が楽に出来る事になります。
ちなみにこれがパーティションとして存在しない場合、
[/usr/home]よりリンクが張られるため、[/usr]パーティション内に[/home]が存在する事になります。
[/usr/local]
ユーザーローカルディレクトリ。
FreeBSDをインストールした場合、[/usr]に数多くのユーザーが使用するプログラムがインストールされますが、
それ以降、新たにサーバー管理人がソフトをインストールすると、
伝統的に、この[/usr/local]ディレクトリ以降にインストールされます。
(Webサーバーやデータベース等)
そのため、サーバーの使用用途によっては[/usr]とは別に、
このディレクトリ専用パーティションを用意する管理者も多くいます。
[/var/mail]
Variable(ヴァリアブル)ディレクトリの中の、ユーザー宛メールが一時的に保存されているディレクトリ。
少し前に「クォータ」の説明をしましたが、
例えばサーバーでユーザーの受信メールの保存容量を5Mに設定したいなどの目的がある場合、
このメール保管ディレクトリのみを別パーティションで管理して、
クォータを有効にして制限する、といった手段も可能です。
もう一度見直してみます。
Part Mount Size Newfs
---- ----- ---- -----
ad0s1a / 128MB UFS Y
ad0s1b swap 368MB SWAP
ad0s1e /var 256MB UFS+S Y
ad0s1f /tmp 256MB UFS+S Y
ad0s1g /usr 3078MB UFS+S
Y
|
[Size]は…文字通り、そのパーティションに使用する容量です。
では、次の[Newfs]の項目にある[UFS]って一体?
UFSとは、UNIXでHDDに使用されているファイルシステムの事です。
(FreeBSDで使用されているのはBerkeley
Fast
File System。通称FFS) 。
この「U」が何の頭文字か正確には未だに分からなかったりするのですが、やっぱり「UNIX」なんでしょう。
ファイルシステムといえばWindows9xシリーズであればFATやFAT32、WindowsNT系統であればNTFSといったものです。
UFSの大きな特徴は「パーミッション」にあると思っていただいていいと思います。
ホームページで自分でCGIを設置したことのある方なら分かると思いますが、
書き込み・読み込み・実行権限がファイル(ディレクトリ)ごとに設定できるというアレです。
[Newfs]とは、パーティションにファイルシステムを設定する時に使用するプログラムの事です。
…で、最後の「Y」はなんなのでしょうか? 実は良く知りません(おい)
下のメニューを見ると、「T = Toggle
Newfs」という操作があり、「T」キーを押すたびに「Y」と「N」に切り替わります。
つまりNewfsを実行していいのかに対する「はい/いいえ」だと思うのですが…。
F1でヘルプを見たところ、やはり「Y」でそのパーティションを消去(初期化?)すると書いてありました。
初期化したくないパーティションが存在する場合、「N」を指定するんでしょうが、
今回の状況では気にすることでは無いと思います。
次の[ad0s1b]はマウント場所が[swap]となっています。ファイルシステムもSWAPです。
これに関しての説明はしばし保留して、次に[ad0s1e]〜[ad0s1g]を見てみたいと思います。
パーティション名とマウント場所、使用容量に関しての説明はもう必要ないと思います。
[UFS+S]の[+S]の部分に関する説明をしていきたいと思います。
[+S]は、ファイルシステムに対して「SoftUpdates」を使用する、というスイッチです。
カーソルキーで[SWAP]以外のパーティションに移動して、
キーボードの「S」キーを押せば、そのたびに[S]を付けたり消せたりします。
「SoftUpdates」というのは、一言で説明すれば「ファイルアクセスを高速化する技術」と言えます。
UNIXは非常にシステム的に堅牢であると説明しました。
UFSもそれを証明するものの一つで、HDDのファイル管理・操作も非常にしっかりしていると言えます。
ちょっとやそっとの事では、データーは壊れません。突然電源が落ちたりした場合にも、それが言えます。
それゆえ、「非常に書き込み速度が遅い」という欠点もありました。
CPUの高速化、データの大容量化…こういったものが肥大化してくるに従って、
この「ファイルアクセスの遅さ」は大きなボトルネックとして問題になってきました。
それを解決するために登場した技術が「SoftUpdates」です。
どんな理論で動いているのかまで説明はしませんが、HDDアクセスは非常に高速化します。
データーベース等、HDDへの頻繁なアクセスが存在するサーバの場合、
このSoftUpdatesを使用することによって全体的なスペックは大幅に向上するはずです。
ただし、それ故トラブル時のデータへの信用性はどうしても下がってしまうため、
OSとして動作するのに大切なデータばかりある「/」(ルートディレクトリ)パーティションには、基本的に適用しません。
(大した容量でもありませんので)
では、最後に[SWAP]の説明を。
例における[ad0s1b]パーティションの説明でもあります。
PCはプログラムを実行する(実行している)時、
必要なデータ(プログラム)をメインメモリ上に読み込んで処理するわけですが、
この時、この容量がメインメモリの限界を超えてしまった場合どうするか?
一時的にHDDにメインメモリの一部を退避させます。
この動作をスワップと呼びます。
このスワップという動作自体はそんなに悪い事では無いのですが、
(むしろこれによって、メインメモリ以上の処理が出来るということで、非常に画期的だった時代もありました)
データー退避先がHDDと言う事に問題が生じます。
メモリと比べてHDDのアクセス速度は非常に低速だということです。
このHDDへのスワップが起こると、その時点でサーバーの処理速度が低下します。
これが連続して続くと、サーバー全体の機能が著しく低下します。
つまり、サーバーを用意する場合、
理想としては「スワップが起こらないだけのメインメモリを用意」する事が必要になります。
といっても世の中絶対は無いわけで、やはりきちんとスワップ領域を取っておくことは大切ですし、
UNIXではこういったスワップのための領域をHDDに用意しておく事は必須となってます。
今回の設定におけるスワップ領域が、[ad0s1b]に当たるわけです。
様々な統計から、UNIXにおけるスワップ領域は「メインメモリの2倍が理想」と言われています。
例の場合、「368M」のスワップ領域を確保してますが、このマシンで使用しているメインメモリは「192M」なので、
おおよそ理想通りと言えます。
ここからは自分のサーバーの用途に合わせてパーティションを作成する方法を考えてみたいと思います。
では、もう一度、自動的に設定されたデータを確認してみます。
Part Mount Size Newfs
---- ----- ---- -----
ad0s1a / 128MB UFS Y
ad0s1b swap 368MB SWAP
ad0s1e /var 256MB UFS+S Y
ad0s1f /tmp 256MB UFS+S Y
ad0s1g /usr 3078MB
UFS+S Y
|
「◆マウントとは?」の項目で、マウントするディレクトリの意味はおおよそ説明しました。
そして、ようやく具体的にどのパーティションにどれくらいのサイズを確保したらいいか?と言う話になってきますが、
実体験より例を上げて説明していきたいと思います。
自動的に設定したパーティションの設定のままインストールを開始して、
インターネットのサーバーに不要だと思われるものをほとんどインストールしなかった
インストール終了直後のサーバーを例に上げて説明したいと思います。
実際にこのディフォルト設定のままFreeBSD4.8をインストールして、
何もしない状態で「/」パーティションに使用している容量を確認してみたら、実に約35M程度でした。
しかしサーバー管理者である[root]ユーザーのディレクトリは、ここに用意される事、
そしてカーネル再インストール等の作業を考慮すると、少し増えて最終的な使用量は40M程度でしょうか?
[/]パーティションには様々な重要な設定ファイルが存在しますが、
これを書き換えることはあっても、新たにプログラムがインストールされる事は無い
(ただし、カーネルとモジュールは例外)ので、128Mあれば十分。500Mとかそういった容量は決して必要でないわけです。
おかしな使い方をしない限り、基本的に[/]パーティションは100Mあれば十分過ぎるほどあります。
SWAPパーティションに関しては、メモリの2倍の容量を確保すれば問題ないと思います。
でも、大容量のメモリを搭載しているのであれば、律儀に2倍も必要ないと思います、はい。
[/usr]ディレクトリは、少し色々いじってみたので容量は増えてますが、
それでも使用しているのは300M程度でした。
しかし、これからインストールしようとしているソフトによっては、
[/usr]パーティションはとんでもない容量を消費します。
たくさん取っておきましょう。
場合によっては、[/usr]は512M程度にしておき、
[/usr/local]を別に作成して、ここでたくさん取ってもいいかもしれません。
[/var]ディレクトリは、ほとんどサーバーとして起動させてないので、まだ1Mすらも使用してません。
ただし、サーバーを長期間起動させておくと、それだけで様々なログやメールがどんどん溜まってくるので、
何もしなくても、動作時間に比例してデータが増えてくると言う事を覚えておいてください。
容量が限界に近づいたら、不要なファイルを掃除する必要が出るかもしれませんが、
それでも256Mあれば、注意していれば、普通はディスク容量が限界になる前に気づきます。
[/tmp]に関しては、基本的に使用しない限り増えないし、
使用しても一時的なものであるため、使用後不要なデーターを整理しておけば、問題は起こらないわけであり、
運用上、心配する事も無いと思われます。
さて、ここで緋色のマシン…メモリ192Mと4GのHDDドライブ…があるとします。
そしてFreeBSD任せではなく、使用する用途に合わせて自分でパーティションを作成してみようと思いました。
緋色が普段、どういった風にパーティションとサイズを決めているのか、
簡単に順を追って書いていきたいと思います。
・[/]には128Mあったら十分なので128M
・[SWAP]はメモリの2倍が理想なので384M
ここまではサックリ決まります。問題はこれ以降です。
使用できるHDDの容量を念頭に置きつつ、
サーバーをどんな用途に使用するのか考えてサイズを決めていかないといけないわけです。
緋色はこう考えました。
・色々とインストールするつもりだから[/usr]と[/usr/local]を別々にしよう。
でも[/usr/local]にどれだけ用意したらいいかまだはっきり分からないので、後回しで。
・ならば、[/usr]は300Mより少し余裕を持って512M程度あればいいかな。
いやいや、portsも使用してみたいなぁ、これには200Mくらいさらに必要になるんだよね。
ということでまず[/usr]は712Mで決定です。
(※portsに関しては、これはFreeBSDと切っても切れない非常に便利な機能なので、専用ページで解説します。)
・いろんなソフトをインストールする予定なんだから、
一時作業用のパーティションも用意しておいた方がいいかな。
まぁ、無難なところで256M程度…[/tmp]が256Mと決まりました。
・一応慣例に従って[/home]ディレクトリも用意しておきたいけど、
一般ユーザーに公開するつもりは無いし…
まぁ、あったら自分のデーター置き場として使用したり出来るし、
ディスククォータと言うものの設定もしてみたいので、あっても困らない程度に取っておくか。
…ということで[/home]は256M。
・ログファイルを記録する[/var]の容量は256Mあったら充分な気がするけど、
緋色はズボラなので、使用容量が256Mに近づいたの時点で気づかないかもしれないから、
かなりの余裕を持って512M取っておこう…と決めました。
・そして最後に[/usr/local]。
これで残りの容量を[/usr/local]に使用することになるけど、1.8Gもあれば充分と一人納得。
これで決定しました。
実際にスライスした場合の予想は以下のようになります。
Part Mount Size Newfs
---- ----- ---- -----
ad0s1a / 128MB UFS Y
ad0s1b swap 384MB SWAP
ad0s1e /usr 712MB UFS+S Y
ad0s1f /tmp 256MB UFS+S Y
ad0s1g /home 256MB UFS+S Y
ad0s1h /var 512MB UFS+S Y
ad0s1d /usr/local 18??MB UFS+S Y
|
緋色の場合、「この用途に使用する」、これと言った基準がなかったため、
ある意味何の特徴も無い構成になってしまいました。
もし多くのユーザーにデーターを公開するつもりだったり、
HPを個人のディレクトリから公開可能な設定をするのであれば、
[/home]ディレクトリをもっと多くの容量を取っておく必要があると思います。
「ports」を利用して色々遊びたいのであれば、
[ports]は[/usr/ports]に作成されるので、[/usr]をさらに多く取っておいてもいいかも知れません。
あと、いまどき4G程度のHDD容量も珍しいと思います。
10Gあるのであれば思い切って
[/usr]に2G、[/var]に1G,[/home]に1G(もしくはそれ以上),[/tmp]に512M、
残ったすべてを[/usr/local]に設定してしまってもいいかも知れません。
余談ですが、究極にズボラな方にお勧めなのは
Part Mount Size Newfs
---- ----- ---- -----
ad0s1b swap 392MB SWAP
ad0s1a / 3703MB UFS+S Y
|
です(おぃおぃ)。
スワップ領域にメモリの2倍の容量を確保した後、残った全部を[/]にしてしまいます。
これでも間違いなく動きますが、出来たら個人使用に限定しておいてください。
でも、初めてFreeBSDを勉強でインストールする場合であるのならば、
これで充分かもしれません。
では、実際にスライスする作業に入ってみたいと思います。
スライスを実行してパーティションを作成するのは「C]キーです。
「C」キーを押すと「Value Required」というメニューが表示されます。
「値を入力しろ」と言われるわけですが、
ここではまずパーティションごとに使用する容量(サイズ)を指定します。

こんな画面。
ここでは[8388513]と何やら不可解な数字が出ています。
(使用しているHDDの容量によってこの値は違います)
これは、現在使用可能な領域の残容量を、HDD単位の一つである[block]で表したものです。
一番最後のほうに「8388513 blocks (4095MB)
are free.」と書かれてますね。
これからパーティションごとに使用する容量を指定するわけですが、
[/]に128M使いたいのに、それをいちいちBlock数に計算するのは時間の無駄です。
そういった場合は、確保したい数字を入れて、最後に単位記号である[M]を付ければ、
自動的にMB単位でパーティションを確保してくれます。
同様に「G]をつければ、GB単位(1GB=1024MB)でパーティションを確保してくれます。
これらの事を踏まえて、まず[/]パーティションに使用するための[128M]の容量を確保したいと思います。
「BackSpace」キーでこの数字を全て消して、[128M]もしくは[128m]と打ち込んでエンターを押しましょう。
これで容量確保は終了です。

次に表示されるのは[Please choose a partition
type]すなわち「パーティションのタイプを指定」というわけですが、
ここでは選択肢は2種類しか表示されません。
「FS」…ファイルシステムか[Swap]…スワップ領域か?ですが、
当然[/]パーティションはFSなので、FSを選択した状態(つまりディフォルトのまま)エンターキーで決定します。

そして最後に、再び「Value Required」…値を入力となるわけですが、今度はマウント位置の指定です。
マウントに関しては、もう散々説明したと思いますので、説明はしません。
ここでは画像の通り[/]と入力してエンターです。
上の画像は、すで[/]と入力したあとのものを表示しています。
ここまでを終えると、入力画面は閉じられ、画面は以下のように表示されると思います。
Part Mount Size Newfs
---- ----- ---- -----
ad0s1a / 128MB UFS Y
|
これで[/]パーティションの設定は終えました。
順番でいけば、次は[SWAP]パーティションと言う事になります。
[SWAP]を指定する場合も、同じように「C」キーを押して設定します。
容量はメモリの2倍であり、今回の場合であれば「384M」です。
次の設定で、「FS」ではなく「Swap」を指定します。
これでSWAP領域の設定は終わりです
Part Mount Size Newfs
---- ----- ---- -----
ad0s1a / 128MB UFS Y
ad0s1b swap 384MB
SWAP
|
以上のようになったと思います。
そしてこれ以降[/usr]以下を設定していきますが、手順は最初にやった[/]パーティションの設定と変わりません。
「C」キーを押して設定画面を開いた後、
数字を消して[712M]と入力→「FS」を指定→マウント位置を「/usr」に指定。
これをパーティションに合わせて繰り返すだけで終了します。
ただし、最後の[/usr/local]に関しては少し違います。
[/usr/local]は、最後に「残った領域を全て確保する」ため「C」キーを押して設定画面を開いた後、
「数字を消さずにエンター」→「FS」を指定→マウント位置を「/usr/local」に指定です。
これでパーティションの設定は終了です。
なお、[/]と[SWAP]以外のパーティションには、自動的に[SoftUpdates]オプションが有効に設定されます。
マウント位置の設定を間違ったと思ったら、カーソルキーで修正したいパーティションに移動して、
「M]キーを押す事で、マウント位置を修正できます。
1からスライスをやり直したい場合であれば、作成してしまったパーティションにカーソルで移動して、
片っ端から「D」キーで削除していけば、全てを削除できます。
Part Mount Size Newfs
---- ----- ---- -----
ad0s1a / 128MB UFS Y
ad0s1b swap 384MB SWAP
ad0s1e /usr 712MB UFS+S Y
ad0s1f /tmp 256MB UFS+S Y
ad0s1g /home 256MB UFS+S Y
ad0s1h /var 512MB UFS+S Y
ad0s1d /usr/loca 1847MB UFS+S Y
|
緋色が設定した最終的な状態。(注:[/usr/loca]で切れて表示されてますが、きちんと[/usr/local]と設定されてます)
これで完了だと思ったら「Q」を押して、次の段階にすすみます。
◆インストールするディストリビューションを選択する |
次に、インストールするディストリビューションを選択します。
ここでは、「FreeBSDを、一体どんな用途で使用するのか?」を聞いていると思ってください。
ここでのディストリビューションの意味とは、「ある一定の目的のために必要なソフトをまとめたもの」です。
たとえば「4 Developer」…これは、「開発者」と言う意味です。
実行可能なバイナリ(動作に必要なプログラム一式)に加え、その全てのソースがインストールされると説明書きにあります。
「5 X-Developer」には、上(4)と同等の機能に加え、X-Windowシステムがインストールされると書かれています。
今回のサーバーで必要なのは6番である、「6
kern-Developer」です。
これは、説明にあるように、「バイナリとマニュアル(doc)」に加え、「カーネルのソースのみ」がインストールされます。
この「カーネルのソース」という部分が非常に重要で、
このソースをインストールする事によりカーネルの再構築が可能になります。
べつに「4 Develope」でも、カーネルのソースはインストールされるのですが、
それ以外のソースも漏れなくインストールされ、使用しないため、今回の場合は容量の無駄使いである。
…と言った理由から除外しています。
「X-Window」システムに関しては、サーバーで使用することはありませんので、これも容量の無駄と言う事で除外します。
X-Windowでも遊びたい方は、「7 X-kern-Developer」でもいいかも知れません。
しかし、X-windowシステムと言うものは非常に大きなプログラムなので、
[/usr]が712Mでは足りない可能性があると言う事も覚えておいてください。最低1Gは用意しておいた方がいいです。
ということで、「6 kern-Developer」を選択したいと思います。
カーソルキー下で移動して、「6 kern-Developer」に合わせてエンターもしくはスペースを押します。
すると、あたらしいメッセージ画面が開きました。
ここでは「FreeBSDのPortsコレクションも一緒にインストールするか?]を尋ねてきています。
このコレクションは180Mものデータを[/usr]ディレクトリにインストールする、とも書かれています。
712Mはこのために取っておいた節もあるので(ぉぃ)インストールします。
ここでは「OK」を選択してください。
すると、「6 kern-Developer」の他にも「8
User」の部分にチェックマークが入ったと思います。
これで問題ありません。
今回インストールするのは「User」が使用する「基本システム+α」であり、
この「+α」に位置するのが「6 kern-Developer」になるからです。
最後に「<<<Exit」が選択されている事を確認した後、エンターを押します。
設定はこれだけで完了です。
もし後から追加したい機能が出てきた場合、簡単に追加が可能です。
なので、今回はこれでディストリビューションの設定は完了です。
迷うことなく、[1 CD/DVD]です。
ネットワーク経由でインストール可能な事も少し言ったと思いますが、
この場合、FTP(FTP Passive)を選択するんだと思っておいてください。
他にもいろんなインストール手段があります。
興味のある方はそれらに関して調べてみるものいいと思います。
ここは悩むようなことではないので、さくっと進みたいと思います。
インストールメディアを選択後、文字通り「最終確認画面」が出てきます。
いままでの手順でHDDから領域を設定して、ブートマネージャの選択をして、
スライスを実行してパーティションを作成してきたわけですが、
これらの設定は、まだFreeBSDのメモリ上に保存されているだけの状態です。
実際にHDDへの書き込みは一切行われて無いわけです。
ここでHDDに大切なデータがあることを思い出して、インストールを思いとどまったのであれば、
電源を切れば、HDDは元のデータのまま起動します。
未練があるなら、ここで電源を切ってしまうのも可能です。
これまでのインストーラーはすべてメモリ上から実行されていただけなので、
HDDへの実害は一切無いわけですから。
…と言う事で、覚悟は出来ましたか?
覚悟が出来たのであれば、「OK」で実際にインストールが開始されます。
あとは、無事にインストールが終わるように固唾を呑んで見守るだけです。
インストールが完了すると、画面に「Congratulations!」の文字とともに、
システムのインストールを終了したというメッセージが表示されます。
これでHDDから起動可能なFreeBSDが完成したわけですが、安心するのはまだ早いです。
次からは初期設定を終わらせないといけません。
ここからがまだ少し長いです。
では、この章はこれで一旦終了として、次に実際の初期設定について説明していきたいと思います。
[一つ上に戻る] |